﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business.Operations;
using Entity.Framework;

namespace HPDMAS.UserControls
{
    public partial class MacKayit : System.Web.UI.UserControl
    {
        public int sezonId;
        public int sehirId;
        List<string> macSahaTipiListesi;
        List<byte> haftaListesi;
        private string _ilceAdi;
        private int _ilceId;
        private string _statAdi;
        private int _statId;
        private int _devreId;
        private string _ligAdi;
        private int _ligId;
        private string _grupAdi;
        private int _grupId;
        private string _evSahibiTakimAdi;
        private int _evSahibiTakimId;
        private string _misafirTakimAdi;
        private int _misafirTakimId;
        private string _macKodu;
        private string _macSahaTipi;
        private DateTime _macTarihi;
        private TimeSpan _macSaati;
        private byte _macHafta;
        private string sayfaUrl;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ddlIlceDoldur();
                ddlLigDoldur();
                ddlGrupDoldur();
                ddlHaftaDoldur();
            }
        }

        protected void ddlIlce_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlStatDoldur();
        }

        protected void ddlLig_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlEvSahibiTakimDoldur();
            ddlMisafirTakimDoldur();
        }

        private void ddlIlceDoldur()
        {
            ddlIlce.DataSource = IlceOperation.IlceAdiGetBySehirId(Convert.ToString(sehirId));
            ddlIlce.DataBind();
        }

        private void ddlStatDoldur()
        {
            if (ddlIlce.SelectedValue != "-1")
            {
                _ilceAdi = ddlIlce.SelectedValue;
                _ilceId = IlceOperation.IlceIdGetByIlceAdiAndSehirId(_ilceAdi, Convert.ToString(sehirId));
            }

            ddlStat.Items.Clear();

            ddlStat.DataSource = StatOperation.StatAdiGetByIlceIdAndSehirId(_ilceId, sehirId);
            ddlStat.DataBind();
        }

        private void ddlLigDoldur()
        {
            ddlLig.DataSource = LigOperation.LigAdiGetBySehirId(sehirId);
            ddlLig.DataBind();
        }

        private void ddlGrupDoldur()
        {
            ddlGrup.DataSource = MacGrupOperation.MacGrupAdiGetAll();
            ddlGrup.DataBind();
        }

        private void ddlEvSahibiTakimDoldur()
        {
            if (ddlLig.SelectedValue != "-1")
            {
                _ligAdi = ddlLig.SelectedValue;
                _ligId = LigOperation.LigIdGetByLigAdi(_ligAdi);
            }

            ddlEvSahibiTakim.Items.Clear();

            ddlEvSahibiTakim.DataSource = TakimOperation.TakimAdiGetBySehirIdAndLigId(sehirId, _ligId);
            ddlEvSahibiTakim.DataBind();
        }

        private void ddlMisafirTakimDoldur()
        {
            if (ddlLig.SelectedValue != "-1")
            {
                _ligAdi = ddlLig.SelectedValue;
                _ligId = LigOperation.LigIdGetByLigAdi(_ligAdi);
            }

            ddlMisafirTakim.Items.Clear();
            ddlMisafirTakim.DataSource = TakimOperation.TakimAdiGetBySehirIdAndLigId(sehirId, _ligId);
            ddlMisafirTakim.DataBind();


        }

        private void ddlMacSahaTipiDoldur()
        {
            macSahaTipiListesi = new List<string>();
            macSahaTipiListesi.Add("KALFA SUNİ ÇİM");

            ddlMacSahaTipi.DataSource = macSahaTipiListesi;
            ddlMacSahaTipi.DataBind();
        }

        private void ddlHaftaDoldur()
        {
            haftaListesi = new List<byte>();

            for (byte i = 1; i <= 40; i++)
            {
                haftaListesi.Add(i);
            }

            ddlHafta.DataSource = haftaListesi;
            ddlHafta.DataBind();
        }

        protected void btnMacEkle_Click(object sender, EventArgs e)
        {
            KontrolleriDegiskenlereAta();
            try
            {
                MacEkle();
                Session["kaydedildiMesaji"] = "Maç kaydedildi.";
                sayfaUrl = "~/IHKBaskani/KayitTamamlandi.aspx";
            }
            catch (Exception ee)
            {
                Session["hataMesaji"] = "Hata oluştu.<br />Hata mesajı: " + ee.Message;
                sayfaUrl = "~/HataSayfasi.aspx";
            }
            finally
            {
                Response.Redirect(sayfaUrl);
            }
        }

        private void KontrolleriDegiskenlereAta()
        {
            try
            {
                _ilceAdi = ddlIlce.SelectedValue;
                _ilceId = IlceOperation.IlceIdGetByIlceAdiAndSehirId(_ilceAdi, Convert.ToString(sehirId));
                _statAdi = ddlStat.SelectedValue;
                _statId = StatOperation.StatIdGetByStatAdi(_statAdi);
                _devreId = Convert.ToInt32(rblDevre.SelectedValue);
                _ligAdi = ddlLig.SelectedValue;
                _ligId = LigOperation.LigIdGetByLigAdi(_ligAdi);
                _grupAdi = ddlGrup.SelectedValue;
                _grupId = MacGrupOperation.MacGrupIdGetByMacGrupAdi(_grupAdi);
                _evSahibiTakimAdi = ddlEvSahibiTakim.SelectedValue;
                _evSahibiTakimId = TakimOperation.TakimIdGetByTakimAdi(_evSahibiTakimAdi);
                _misafirTakimAdi = ddlMisafirTakim.SelectedValue;
                _misafirTakimId = TakimOperation.TakimIdGetByTakimAdi(_misafirTakimAdi);
                _macKodu = txtMacKodu.Text.Trim();
                _macSahaTipi = ddlMacSahaTipi.SelectedValue;
                _macTarihi = Convert.ToDateTime(txtMacTarihi.Text);
                _macSaati = TimeSpan.Parse(txtMacSaati.Text);
                _macHafta = Byte.Parse(ddlHafta.SelectedValue);
            }
            catch (Exception e)
            {
                Session["hataMesaji"] = e.Message;
                Response.Redirect("~/HataSayfasi");
            }

        }

        private void MacEkle()
        {
            Mac mac = new Mac();
            mac.SezonID = sezonId;
            mac.SehirID = sehirId;
            mac.IlceID = _ilceId;
            mac.StatID = _statId;
            mac.DevreID = _devreId;
            mac.LigID = _ligId;
            mac.MacGrupID = _grupId;
            mac.EvSahibiTakimID = _evSahibiTakimId;
            mac.MisafirTakimID = _misafirTakimId;
            mac.MacKodu = _macKodu;
            mac.MacSahaTipi = _macSahaTipi;
            mac.MacTarihi = _macTarihi;
            mac.MacSaati = _macSaati;
            mac.MacHafta = _macHafta;
            mac.DegisiklikTarihi = DateTime.Now;
            MacOperation.MacInsert(mac);
        }




        //TODO ddlIlce, ddlGrup selectedIndexChanged events
    }
}